Simulation machines are used to model many natural and human systems in physics, chemistry, biology and engineering as well as in economics, finance and social science. A simulation is an imitation of a system, or process. The act of simulating something generally entails representing certain key characteristics or parameters of a selected physical or mathematical system. Simulators aid in exploring possibilities and outcomes, diagnosing problems and transferring simulated actions to the real systems.
The output of a physical system or process can be sensitive to changes in parameter values of underlying systems and processes. When these sensitivities are understood, a simulator provides a tool for making choices about physical or mathematical systems or process. Simulators can provide valuable information about how variation in the output of a simulated system or process can be allocated, qualitatively or quantitatively, to different sources of variation in the input of the simulated process.
For example, simulators are used in communications, medical, aeronautical, meteorological, financial and other industries to characterize and model systems and processes in terms of their subsystems and sub-processes. A sensitivity analyzer identifies the inputs to the subsystems and sub-processes that contribute most to the random variability in the output. Once these inputs are identified they can be controlled or compensated in a practical situation.
Monte Carlo (MC) and Quasi Monte Carlo (QMC) are families of simulation techniques widely used in various branches of science and engineering. MC simulation techniques are based on stochastic sampling. Thus MC simulations are uniquely suited for simulating systems and processes characterized by many computational dimensions. However, MC simulators have drawbacks. The most significant of these is the abundant computational resources demanded by MC simulators.
For this reason, to be used in a real-time simulation MC simulators typically require large parallel computers for their implementation. They incur a high financial cost in terms of hardware, infrastructure, and software development.
These efficiency issues become especially pronounced when MC simulations are used to calculate the sensitivities of the system or process output to variations in the parameters of the underlying model. In fact, each sensitivity is typically calculated by perturbing the corresponding parameter and repeating the simulation. This method is also know as ‘bumping’. As a result, the simulation time of typical MC simulators for the calculation of sensitivities increases in proportion to the number of parameters of a simulation model. Thus the time required for a MC simulator to complete a simulation of a complex scenario is frequently unacceptable for use in real time environments.
More efficient techniques than standard bumping have been proposed. For example, a more efficient variation of the so called pathwise derivative method has been recently proposed by Mike Giles and Paul Glasserman of resp. Oxford and Columbia University for a particular type of function output and simulated model. While some efficiency is achieved with these techniques, they rely on differentiation of the mathematical functions that represent the simulation output at future time. These derivatives are generally time consuming and expensive to evaluate.
Another drawback of foregoing proposed solutions is that computational cost is proportional to the number of future times accounted for in a simulation. This number can be large, for instance for processes depending on daily observation of an underlying process on a time horizon of several months. As a result the aforementioned drawbacks of MC simulators have yet to be overcome.
Faster and more efficient apparatus, systems and methods for calculating sensitivity using Monte Carlo and Quasi Monte Carlo simulators are needed. Further needed are apparatus, systems and methods for calculating sensitivity at a cost that is independent of the number of sensitivities calculated, and independent of the number of observations upon which a process or system depends.